package com.example.thread.d9CompletableFuture2.d8get和join方法;

import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;

public class d1_GetOrJoin {
    public static void main(String[] args) {
        CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
            return "hello";
        });

        System.out.println(future.join());

        try {
            String s = future.get();
            System.out.println(s);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
        /**
         * get()和join（）都是ComPletableFutute提供的以阻塞方式获取结果的方法
         * 使用时，get（）抛出检查时异常，需要程序必须处理，join（）方法抛出
         * 运行时异常，程序可以不处理，所以，join更适合用于流式编程中
         */
    }
}
